home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / c / datelib.exe / DATUM.H < prev    next >
C/C++ Source or Header  |  1992-03-27  |  4KB  |  122 lines

  1. /* ---------------------------------------------------------------------------
  2. ** datum.h      Headerdatei für Funktionen zur Datums- und Zeitbehandlung
  3. ** ---------------------------------------------------------------------------
  4. */
  5.  
  6. /* Mehrfacheinbindungen vermeiden :
  7. */
  8. #ifndef __DATUM__
  9. #define __DATUM__
  10.  
  11. /* Symbole :
  12. ** ---------
  13. */
  14.  
  15. /* Falls CURSES eingebunden wurde, sind TRUE und FALSE bereits definiert :
  16. ** ( Vermeidet Warnungen des Compilers ! )
  17. */
  18. #ifndef TRUE
  19. #define TRUE       (1)
  20. #endif
  21. #ifndef FALSE
  22. #define FALSE      (0)
  23. #endif
  24.  
  25. /* Für die Datumsfunktionen :
  26. */
  27. #define FEHLER     90909090
  28. /* Formate : */
  29. #define DE_KURZ    1
  30. #define DE_LANG    2
  31. #define AM_KURZ    3
  32. #define AM_LANG    4
  33. #define DB_KURZ    5
  34. #define DB_LANG    6
  35. #define DE_AKTJAHR 7
  36. #define AM_AKTJAHR 8
  37. /* Wochentage : */
  38. #define MONTAG     1
  39. #define DIENSTAG   2
  40. #define MITTWOCH   3
  41. #define DONNERSTAG 4
  42. #define FREITAG    5
  43. #define SAMSTAG    6
  44. #define SONNTAG    7
  45.  
  46. /* Für die Zeitfunktionen :
  47. */
  48. /* Formate : */
  49. #define TI_DEF_FORM 2
  50. #define TI_HM_D     1
  51. #define TI_HMS_D    2
  52. #define TI_HM_P     3
  53. #define TI_HMS_P    4
  54. #define TI_HM_DB    5
  55. #define TI_HMS_DB   6
  56. #define TI_MIN_SEC  100
  57. /* Diverse Werte : */
  58. #define TI_MAX_SEC  86399L
  59. #define TI_MAX_MIN  1439L
  60. #define TI_MAX_HOUR 23L
  61. #define TI_MAX_VAL  "23:59:59"
  62. #define TI_DEF_VAL  "00:00:00"
  63.  
  64. /* Deklarationen :
  65. ** ---------------
  66. */
  67. /* Datumsfunktionen :
  68. */
  69. extern char *calcdate(char *datum, long abstand, char *erg);
  70. extern int   checkdate(char *datum);
  71. extern char *cnvtdate(char *datum, int dest_format, char *erg);
  72. extern long  diffdate(char *datum1, char *datum2);
  73. extern char *himmelf_s(int jahr);
  74. extern char *mk_datestr(int tag, int monat, int jahr, int format);
  75. extern char *ostern_s(int jahr);
  76. extern char *pfingsten_s(int jahr);
  77. extern char *readdate(int format, char *dest);
  78. extern int   schalt_jahr(int jahr);
  79. extern char *today(int format);
  80. extern char *tomorrow(int format);
  81. extern int   weekday(int tag,int monat,int jahr);
  82. extern char *yesterday(int format);
  83.  
  84. /* Zeitfunktionen :
  85. */
  86. extern char *calctime(char *zeit, long abstand, char *erg);
  87. extern int   checktime(char *zeit);
  88. extern char *cnvttime(char *zeit, int dest_format, char *erg);
  89. extern long  diffdtime(char *zeit1, char *zeit2);
  90. extern char *mk_timestr(unsigned long min_sec, int toggle, int format);
  91. extern char *now(int format);
  92. extern char *readtime(int format, char *dest);
  93.  
  94. /* CURSES-SEKTION: Funktionen und -Makros (nur einbinden, wenn benötigt):
  95. ** ----------------------------------------------------------------------
  96. */
  97. #ifdef __CURSES__
  98.  
  99. /* Eigene Funktionen :
  100. */
  101. extern char *wreaddatew(WINDOW *win,int format, char *dest);
  102. extern char *readdatew(int format, char *dest);
  103. extern char *wreadtimew(WINDOW *win,int format, char *dest);
  104. extern char *readtimew(int format, char *dest);
  105.  
  106. /* Zugehörige Makros :
  107. */
  108. #define mvwreaddatew(win,row,col,format,dest) (wmove(win,row,col),\
  109.                                                wreaddatew(win,format,dest))
  110. #define mvreaddatew(win,row,col,format,dest)  (move(row,col),\
  111.                                                readdatew(format,dest))
  112. #define mvwreadtimew(win,row,col,format,dest) (wmove(win,row,col),\
  113.                                                wreadtimew(win,format,dest))
  114. #define mvreadtimew(win,row,col,format,dest)  (move(row,col),\
  115.                                                readtimew(format,dest))
  116. #endif /* __CURSES__ */
  117.  
  118. /* ------------------------> CURSES-SEKTION <------------------------------ */
  119.  
  120. #endif /* __DATUM__ */
  121.  
  122.